// 全局守卫路由跳转做判断
import router from '@/router'
import store from '@/store'

const whiteList = ['/login', '/404']
router.beforeEach(async(to, from, next) => {
  // 如果有token
  if (store.getters.token) {
    // 有token，获取用户信息，防止每一个有token的地方都会调用方法，加个判断
    if (!store.getters.userId) {
      await store.dispatch('user/getUserInfoAction') // 加个await获取到用户资料再跳转
    }
    // 如果去的是登录页
    if (to.path === '/login') {
      // 直接跳主页
      next('/')
    } else {
      // 如果去的不是是登录页，去哪里就跳哪里
      next()
    }
  } else {
    // 如果没有token
    if (whiteList.includes(to.path)) {
      next()
    } else {
      next('/login')
    }
  }
})
